<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Pagination Class : CodeIgniter User Guide</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>

<meta http-equiv='expires' content='-1' />
<meta http-equiv= 'pragma' content='no-cache' />
<meta name='robots' content='all' />
<meta name='author' content='ExpressionEngine Dev Team' />
<meta name='description' content='CodeIgniter User Guide' />

</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>CodeIgniter User Guide Version 2.1.0</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
Pagination Class
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>페이지네이션 Pagination Class</h1>

<p>CodeIgniter의 페이지네이션 클래스는 매우 사용하기 쉽답니다.  100% 커스터마이징 가능합니다. 커스터마이징은 동적으로 할수도 있고, 설정을 저장할수도 있습니다.</p>

<p>"페이지네이션" 이라는 말에 익숙하지 않으신가요 ? 바로 아래와같이 페이지 이동을위한 링크를 뜻하는 말이랍니다:</p>

<code><a href="#">&laquo; First</a>&nbsp;&nbsp;<a href="#">&lt;</a>&nbsp;<a href="#">1</a>&nbsp;<a href="#">2</a>&nbsp;<b>3</b>&nbsp;<a href="#">4</a>&nbsp;<a href="#">5</a>&nbsp;<a href="#">&gt;</a>&nbsp;&nbsp;<a href="#">Last &raquo;</a></code>

<h2>예제 Example</h2>

<p><a href="../general/controllers.html">컨트롤러</a> 함수내에서 어떻게 페이지를 생성하는지 보여주는 예제입니다:</p>

<code>
$this->load->library('pagination');<br /><br />	
$config['base_url'] = 'http://example.com/index.php/test/page/';<br />
$config['total_rows'] = 200;<br />
$config['per_page']  = 20;
<br /><br />
$this->pagination->initialize($config);

<br /><br />
echo  $this->pagination->create_links();</code>

<h3>참고:</h3>

<p><var>$config</var> 배열에는 설정값들이 들어갑니다. 위와 같이 그배열을<dfn> $this->pagination->initialize</dfn> 함수에 넘겨줍니다.  20개정도의 설정 아이템들이 있지만, 위에서 보여준것은 그중에서 반드시 필요한 세가지 입니다.  아래는 각 아이템에대한 설명입니다:</p>

<ul>
	<li><strong>base_url</strong> 페이지네이션에 포함될 컨트롤러/함수 의 전체 url 입니다.위의 예제에서,컨트롤러는"Test" 이고 함수는 "page" 입니다.  url을 다른 구조로 하고싶다면<a href="../general/routing.html"> url 라우팅 변경(re-route your URI</a>) 을 이용하실수 있습니다.</li>
	<li><strong>total_rows</strong> 페이지네이션할 전체 레코드의 수를 나타냅니다.
	통상적이로 이숫자는 데이터베이스 쿼리에서 리턴되는 전체열수 입니다.
	</li>
	<li><strong>per_page</strong> 한페이지에 보여질 아이템(열)수 입니다.위의 예제에서는 20 개의 아이템이 한페이지에 보여집니다.</li>
</ul>

<p>보여줄 페이지네이션이 없을경우<var>create_links()</var> 함수는 빈 문자열을 리턴합니다.</p>


<h3>설정을 설정파일에 저장하기 Setting preferences in a config file</h3>

<p>설정을 위처럼 하지않고, 설정파일에 저장할수도 있습니다.<var>pagination.php</var>  파일을 만든후 <var>$config</var>
배열을 추가하세요. 그런후 파일을 <var>config/pagination.php</var> 에 저장하시면, 자동으로 불러지게 됩니다.설정파일로 저장하면 <dfn>$this->pagination->initialize</dfn> 함수를 호출할 필요가 없습니다.</p>


<h2>페이지네이션 커스터마이징 하기 Customizing the Pagination</h2>

<p>아래는 페이지네이션이 어떻게 보여질지에 대한  설정(preferences) 목록입니다.</p>


<h4>$config['uri_segment'] = 3;</h4>

<p>페이지네이션 함수는 페이지 번호를 URI 세그먼트의 어느부분에 포함시킬지 자동으로 결정합니다. 여러분이 직접 지정하고싶으면 위 설정을 사용합니다.</p>

<h4>$config['num_links'] = 2;</h4>

<p>선택된 페이지번호 좌우로 몇개의 숫자링크를 보여줄지 설정합니다. 예를들어,  2
	는 본 페이지의 맨위에있는 예제와 같이 양쪽에 2개의 숫자링크를 보여줍니다.(즉 숫자는 5개가 되겠죠 ) </p>
<h4>$config['use_page_numbers'] = TRUE;</h4>
  <p>기본값으로, URI 세그먼트는 페이징하는 아이템들의 시작 인덱스를 사용합니다.(역주:무슨소리인지 잘 모르겠네요.사용해 보면 아는데 
    시간이 없어서 ... 죄송).실제 페이지 번호를 보여주고 싶다면, TRUE로 설정하세요.</p>

<h4>$config['page_query_string'] = TRUE</h4>
<p>기본값으로, 페이지네이션 라이브러리는 여러분이 <a href="../general/urls.html">URI세그먼트(Segments</a>)를 사용한다고 가정합니다. 그리고 링크를 아래처럼 생성합니다.</p>
<p><code>http://example.com/index.php/test/page/20</code></p>
<p> $config['enable_query_strings']  을  TRUE 로 설정하면, 링크는 자동으로 쿼리스트링(Query Strings) 형식으로 바뀝니다. 이 옵션은 명시적으로 설정할수도 있습니다. $config['page_query_string'] 이 TRUE 일때 페이지네이션 링크는 아래처럼 바뀝니다.</p>
<p><code>http://example.com/index.php?c=test&amp;m=page&amp;per_page=20</code></p>
<p>&quot;per_page&quot;는 기본적으로 전달되는 쿼리스트링입니다. 그러나 $config['query_string_segment'] = 'your_string' 를 통해서 여러분이 설정할수도 있습니다.</p>
<h2>감싸는 태그 추가하기 Adding Enclosing Markup</h2>

<p>페이지네이션 전체에 감싸는 태그를 추가하고싶으면 아래와 같이 합니다:</p>

<h4>$config['full_tag_open'] = '&lt;p>';</h4>
<p>페이지네이션 왼쪽에 위치할 여는태그입니다.</p>

<h4>$config['full_tag_close'] = '&lt;/p>';</h4>
<p>페이지네이션 오른쪽에 위치할 닫는태그 입니다.</p>


<h2>&quot;처음으로&quot;링크 커스터마이징 Customizing the First Link</h2>

<h4>$config['first_link'] = 'First';</h4>  <p>페이지네이션 맨 왼쪽에 위치할 &quot;처음으로&quot; 링크 글을 설정합니다.First 대신 &quot;처음&quot;,&quot;맨처음&quot; 
    등을 쓰시는게 좋겠지요 :)</p>
  <p>값을 FALSE로 설정하면, 이 링크는 렌더링 되지않습니다.</p>

<h4>$config['first_tag_open'] = '&lt;div>';</h4>
<p>&quot;처음으로&quot;링크의 여는태그 입니다. </p>

<h4>$config['first_tag_close'] = '&lt;/div>';</h4>
<p>&quot;처음으로&quot;링크의 닫는태그 입니다. </p>

<h2>&quot;끝으로&quot;링크  커스터마이징 Customizing the Last Link</h2>

<h4>$config['last_link'] = 'Last';</h4>  <p>페이지네이션 맨 오른쪽에 위치할 &quot;끝으로&quot; 링크 글을 설정합니다.</p>
  <p>값을 FALSE로 설정하면, 이 링크는 렌더링 되지않습니다.</p>

<h4>$config['last_tag_open'] = '&lt;div>';</h4>
<p>&quot;끝으로&quot;링크의 여는태그 입니다. </p>

<h4>$config['last_tag_close'] = '&lt;/div>';</h4>
<p>&quot;끝으로&quot;링크의 닫는태그 입니다. </p>

<h2>&quot;다음&quot; 링크 커스터마이징 Customizing the "Next" Link</h2>

<h4>$config['next_link'] = '&amp;gt;';</h4>  <p>&quot;다음&quot; 링크 글을 설정합니다.</p>
  <p>값을 FALSE로 설정하면, 이 링크는 렌더링 되지않습니다.</p>

<h4>$config['next_tag_open'] = '&lt;div>';</h4>
<p>&quot;다음&quot;링크의 여는태그 입니다. </p>

<h4>$config['next_tag_close'] = '&lt;/div>';</h4>
<p>&quot;다음&quot;링크의 닫는태그 입니다. </p>

<h2>&quot;이전&quot;링크 커스터마이징 Customizing the "Previous" Link</h2>

<h4>$config['prev_link'] = '&amp;lt;';</h4>  <p>&quot;이전&quot; 링크 글을 설정합니다.</p>
  <p>값을 FALSE로 설정하면, 이 링크는 렌더링 되지않습니다.</p>

<h4>$config['prev_tag_open'] = '&lt;div>';</h4>
<p>&quot;이전&quot;링크의 여는태그 입니다. </p>

<h4>$config['prev_tag_close'] = '&lt;/div>';</h4>
<p>&quot;이전&quot;링크의 닫는태그 입니다. </p>

<h2>&quot;현재페이지&quot;링크 커스터마이징 Customizing the "Current Page" Link</h2>

<h4>$config['cur_tag_open'] = '&lt;b>';</h4>
<p>&quot;현재페이지&quot;링크의 여는태그 입니다. </p>

<h4>$config['cur_tag_close'] = '&lt;/b>';</h4>
<p>&quot;현재페이지&quot;링크의 닫는태그 입니다. </p>


<h2>링크숫자 커스터마이징 Customizing the "Digit" Link</h2>

<h4>$config['num_tag_open'] = '&lt;div>';</h4>
<p>링크숫자 링크의 여는태그 입니다. </p>

<h4>$config['num_tag_close'] = '&lt;/div>';</h4>
<p>링크숫자 링크의 닫는태그 입니다. </p>
		
  <h2>페이지 숨기기</h2>

  <p>페이지를 숨기고 싶다면(예를 들어 이전,다음 링크만 출력하고 싶다든지) 아래와 같이 하면 해당 페이지가 렌더링 되지않습니다.</p>

<code>
$config['display_pages'] = FALSE;
</code>


  <h2>모든 링크에 클래스 추가</h2>

  <p>페이지네이션 클래스를 통해 생성된 모든 링크에 클래스 속성을 추가하고자 한다면, "anchor_class"를 원하는 클래스 이름으로 
    설정하면 됩니다.</p>


</div>
<div id="footer">
<p>
Previous Topic:&nbsp;&nbsp;<a href="output.html">Output Class</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
Next Topic:&nbsp;&nbsp;<a href="sessions.html">Session Class</a>
</p>
<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2011 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
</div>

</body>
</html>